home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib18.dsk / COMPLETE CATALOG.bas < prev    next >
BASIC Source File  |  2023-02-26  |  3KB  |  72 lines

  1. 1  REM  **********************
  2. 2  REM  *  COMPLETE CATALOG  *
  3. 3  REM  *   BY  RON NOCKET   *
  4. 4  REM  * COPYRIGHT (C) 1983 *
  5. 5  REM  * BY MICROSPARC, INC *
  6. 6  REM  * LINCOLN, MA. 01773 *
  7. 7  REM  **********************
  8. 10  LET D$ =  CHR$(4)
  9. 20  PRINT D$;"BLOAD RWTS"
  10. 30  TEXT : HOME : VTAB 4
  11. 40  PRINT "THIS PROGRAM WILL DISPLAY ALL OF THE    FILES THAT ARE ON YOUR DISK ";: INVERSE : PRINT "INCLUDING": NORMAL 
  12. 50  PRINT "THOSE FILES WHICH HAVE BEEN DELETED AND HAVE NOT BEEN WRITEN OVER.": VTAB 22: PRINT "** COPYRIGHT 1983 BY MICROSPARC, INC. **"
  13. 60  VTAB 12: PRINT "PLEASE INDICATE WHICH DRIVE CONTAINS    THE DESIRED DISK (DEFAULT = 1) ";: GET R$
  14. 70  IF  VAL(R$) = 1  THEN  POKE 908,1: GOTO 100
  15. 80  IF  VAL(R$) = 2  THEN  POKE 908,2: GOTO 100
  16. 90  IF  VAL(R$) <0  OR  VAL(R$) >2  THEN  PRINT : PRINT : PRINT : INVERSE : PRINT "PLEASE REMEMBER THAT YOU CAN HAVE AT ": PRINT "MOST 2 DRIVES CONNECTED TO ONE CARD!!": NORMAL : FOR P = 1 TO 2500: NEXT P: VTAB 10: HTAB 1: CALL  -958: GOTO 60
  17. 95  POKE 908,1: REM  DEFAULT DRIVE NUMBER
  18. 100 ITRK = 910:ISECT = 911:ICMD = 918:IBUFP = 915
  19. 110  GOTO 200
  20. 120  REM 
  21. 130  REM  *** READING SUBROUTINE ***
  22. 140  REM 
  23. 150 BUFP = 32:SECT = 15: POKE ITRK,17: POKE ICMD,CMD
  24. 160  POKE ISECT,SECT: POKE IBUFP,BUFP
  25. 170  CALL 896
  26. 180 SECT = SECT -1:BUFP = BUFP +1: IF SECT > = 1  THEN 160
  27. 190  RETURN 
  28. 200  HOME : VTAB 2: HTAB 6: INVERSE : PRINT " READING DISKETTE DIRECTORY ": NORMAL : POKE 34,3
  29. 210  PRINT 
  30. 220 CMD = 1: GOSUB 150
  31. 230  VTAB 1: HTAB 1: CALL  -868: HTAB 11: INVERSE : PRINT " COMPLETE CATALOG ": NORMAL : VTAB 4
  32. 240  REM 
  33. 250 A = 8203:B = 1:A1 = A
  34. 260  IF  PEEK(A) = 0  THEN 420
  35. 270  IF  PEEK(A) = 255  THEN 340
  36. 280 CNAME$ = "":X =  FRE(0)
  37. 290 C = A +2: FOR K = 1 TO 30:D = C +K
  38. 300 CNAME$ = CNAME$ + CHR$( PEEK(D))
  39. 310  NEXT K: GOSUB 440: PRINT CNAME$: LET Q = Q +1: IF Q/19 =  INT(Q/19)  THEN  POKE  -16368,0: GET R$
  40. 320 A = A +35:B = B +1: IF B >7  THEN A1 = A1 +256:A = A1:B = 1
  41. 330  GOTO 260
  42. 340 DNAME$ = "":X =  FRE(0)
  43. 350 C = A +2: FOR K = 1 TO 29:D = C +K
  44. 360 DNAME$ = DNAME$ + CHR$( PEEK(D))
  45. 370  NEXT K
  46. 380  INVERSE : GOSUB 440: PRINT DNAME$: LET Q = Q +1: IF Q/19 =  INT(Q/19)  THEN  POKE  -16368,0: GET R$
  47. 390  NORMAL 
  48. 400 A = A +35:B = B +1: IF B >7  THEN A1 = A1 +256:A = A1:B = 1
  49. 410  GOTO 260
  50. 420  TEXT 
  51. 430  END 
  52. 440  REM 
  53. 450  REM  UNLOCKED FILE TYPE
  54. 460  REM 
  55. 470  LET FT =  PEEK(C)
  56. 480  IF FT > = 128  THEN  GOSUB 560: RETURN 
  57. 490  ON FT GOTO 510,520,530,540
  58. 500  PRINT " T ";: GOTO 550
  59. 510  PRINT " I ";: GOTO 550
  60. 520  PRINT " A ";: GOTO 550
  61. 530  PRINT "NEW FILE TYPE!"
  62. 540  PRINT " B ";
  63. 550  RETURN 
  64. 560  REM 
  65. 570  REM  LOCKED FILE TYPE
  66. 580  REM 
  67. 590  ON FT -127 GOTO 610,620,630
  68. 600  PRINT "*B ";: GOTO 640
  69. 610  PRINT "*T ";: GOTO 640
  70. 620  PRINT "*I ";: GOTO 640
  71. 630  PRINT "*A ";
  72. 640  RETURN